package com.cheng.example.book.advise151.chap7.client115;

class Foo1 {
    public static boolean method() {
        // 取得当前栈信息
        StackTraceElement[] sts = new Throwable().getStackTrace();
        // 检查是否是methodA方法调用
        for (StackTraceElement st : sts) {
            if (st.getMethodName().equals("methodA")) {
                return true;
            }
        }
        return false;
    }
}
//调用者
class Invoker{

    //该方法打印出true
    public static void methodA(){
        System.out.println(Foo1.method());
    }
    //该方法打印出false
    public static void methodB(){
        System.out.println(Foo1.method());
    }


}